package com.research.service.impl;
import com.research.service.StorageService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
@Service
@Slf4j
public class StorageServiceImpl implements StorageService {

    //将文件存到具体的某个位置
    @Override
    public Boolean save(MultipartFile file, String fileName, String filePath) {

        log.info("我进到保存了");
        String path=filePath+fileName;
        File targeFile =new  File(path);
        //如果父目录不存在，创建父目录
        if(!targeFile.getParentFile().exists()){
            targeFile.getParentFile().mkdir();
        }
        //写入文件，写入磁盘肯定要把文件以二进制的形式写进来，SpringBoot提供了一个非常好用的方法
        //FileCopyUtils.copy(，);可以便捷的把文件写到另一个文件里去
        //第一个参数是文件的源文件，第二个是目标文件
        //file.getBytes是获取数据的二进制
        try{
            FileCopyUtils.copy(file.getBytes(),targeFile);
            log.info("保存完成了");
            return true;
        } catch (IOException E){

            throw new RuntimeException(E);

        }

//        return false;

    }

}
